package com.hy.controller;

import com.hy.entity.ModuleConfig;
import com.hy.service.ModuleConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;

@RestController
@RequestMapping("/admin/modules")
public class SysModuleConfigController {

    @Autowired
    private ModuleConfigService service;

    // 小程序端：获取所有可见模块（按排序）
    @GetMapping("/visible")
    public List<ModuleConfig> getVisibleModules() {
        return service.getVisibleModules();
    }

    // 管理端：更新模块显示状态
    @PostMapping("/{code}/visibility")
    public void updateVisibility(
            @PathVariable("code") String moduleCode,
            @RequestBody Boolean isVisible
    ) {
        service.updateVisibility(moduleCode, isVisible);
    }

    // 管理端：更新模块排序
    @PostMapping("/{code}/sort")
    public void updateSortOrder(
            @PathVariable("code") String moduleCode,
            @RequestBody Integer sortOrder
    ) {
        service.updateSortOrder(moduleCode, sortOrder);
    }

    // 管理端：获取所有模块（含隐藏）
    @GetMapping("/all")
    public List<ModuleConfig> getAllModules() {
        return service.list();
    }
}